package com.bigdata

import java.util
import scala.collection.mutable
import scala.collection.mutable.ListBuffer

object Demo17Mutable {

  def main(args: Array[String]): Unit = {
    /**
     * 可变集合
     * ListBuffer:List有的方法ListBuffer都有，只是ListBuffer是可以改变的
     */
    val listBuffer = new ListBuffer[Int]

    // 增加元素
    listBuffer.+=(1)
    listBuffer += 2
    listBuffer += 3
    listBuffer += 4

    println(listBuffer)

    //批量插入元素
    listBuffer ++= List(5, 6, 7)

    println(listBuffer)

    //通过下标插入元素
    listBuffer.insert(0, 100)

    println(listBuffer)

    //使用下标删除元素
    listBuffer.remove(0)

    println(listBuffer)

    // 更新元素
    listBuffer.update(0, 10)

    println(listBuffer)

    //删除元素,根据元素参数,"-="
    listBuffer.-=(10)

    println(listBuffer)

    listBuffer.foreach(println)

    println("=" * 100)

    val listBuffer1 = new ListBuffer[String]
    listBuffer1.+=("abc")
    listBuffer1.+=("def")

    listBuffer1.-=("abc")

    listBuffer1.foreach(println)

    // 使用scala提供的可变的set类
    val hashSet = new mutable.HashSet[String]()
    hashSet += "hadoop"
    hashSet += "hive"
    hashSet += "hive"
    hashSet += "hbase"
    println(hashSet)

    // 删除元素
    hashSet -= "hbase"

    println(hashSet)
  }

}
